var originalkeyboardtarget = null;
var keyboardtarget = null;
var cursorPosition = 0;
var language = "";
var lang = "";
var QWERTY = true;
var currency = "";
var webDomain1 = "";
var webDomain2 = "";
var keyboardType = "reduced";

function setCaretToPos (input, pos) {
  if (input.setSelectionRange) {
    input.focus();
    input.setSelectionRange(pos, pos);
  } else if (input.createTextRange) {
    var range = input.createTextRange();
    range.collapse(true);
	range.move("character", pos);
    range.select();
  }
}

function pressCharKey(owner,character) {
	if((keyboardtarget.selectionStart || keyboardtarget.selectionStart === 0) && (keyboardtarget.selectionStart != keyboardtarget.selectionEnd)) {
		cursorPosition = keyboardtarget.selectionStart;
		$(keyboardtarget).val($(keyboardtarget).val().substring(0,keyboardtarget.selectionStart) +character+ $(keyboardtarget).val().substring(keyboardtarget.selectionEnd,$(keyboardtarget).val().length));
	} else if((keyboardtarget.selectionStart || keyboardtarget.selectionStart === 0) && (keyboardtarget.selectionStart != $(keyboardtarget).val().length)) {
		cursorPosition = keyboardtarget.selectionStart;
		$(keyboardtarget).val($(keyboardtarget).val().substring(0,cursorPosition) +character+ $(keyboardtarget).val().substring(cursorPosition,$(keyboardtarget).val().length));
	} else {
		cursorPosition = $(keyboardtarget).val().length;
		$(keyboardtarget).val($(keyboardtarget).val()+character);
	}
	$(originalkeyboardtarget).val($(keyboardtarget).val());
	cursorPosition += character.length;
	setCaretToPos(keyboardtarget,cursorPosition);
}

function pressCharKeyAndLeave(owner,character) {
	pressCharKey(owner,character);
	showKeyboard("lowercase");
}

function pressBackspaceKey(owner){
	if(keyboardtarget.selectionStart !== null && keyboardtarget.selectionStart != keyboardtarget.selectionEnd) {
		cursorPosition = keyboardtarget.selectionStart;
		$(keyboardtarget).val($(keyboardtarget).val().substring(0,keyboardtarget.selectionStart) + $(keyboardtarget).val().substring(keyboardtarget.selectionEnd,$(keyboardtarget).val().length));
	} else if(keyboardtarget.selectionStart !== null && keyboardtarget.selectionStart != $(keyboardtarget).val().length) {
		cursorPosition = keyboardtarget.selectionStart -1;
		if (cursorPosition < 0) {cursorPosition = 0;return;}
		$(keyboardtarget).val($(keyboardtarget).val().substring(0,cursorPosition) + $(keyboardtarget).val().substring(cursorPosition+1,$(keyboardtarget).val().length));
	} else {
		if (cursorPosition == 0) {return;}
		cursorPosition = $(keyboardtarget).val().length-1;
		$(keyboardtarget).val($(keyboardtarget).val().substring(0,cursorPosition));
	}
	$(originalkeyboardtarget).val($(keyboardtarget).val());
	setCaretToPos(keyboardtarget,cursorPosition);
}

function submitParentForm(node){
	var nodeName = node.nodeName.toLowerCase();
	if(nodeName=="body" || nodeName=="html" || nodeName==null) return false;
	if(nodeName=="form") $(node).submit();
	else submitParentForm(node.parentNode);
}

function pressEnterKey(owner){
	if(keyboardtarget.nodeName.toLowerCase()=="input") {
		submitParentForm(originalkeyboardtarget);
		removeKeyboard();
		return;
	}
	if(keyboardtarget.nodeName.toLowerCase()=="textarea"){
		if(keyboardtarget.selectionStart && keyboardtarget.selectionStart != keyboardtarget.selectionEnd) {
			cursorPosition = keyboardtarget.selectionStart;
			keyboardtarget.value = (keyboardtarget.value.substring(0,keyboardtarget.selectionStart) +"\n"+ keyboardtarget.value.substring(keyboardtarget.selectionEnd,keyboardtarget.value.length));
		} else if(keyboardtarget.selectionStart && keyboardtarget.selectionStart != $(keyboardtarget).val().length) {
			cursorPosition = keyboardtarget.selectionStart;
			keyboardtarget.value = (keyboardtarget.value.substring(0,cursorPosition) +"\n"+ keyboardtarget.value.substring(cursorPosition,keyboardtarget.value.length));
		} else {
			cursorPosition = keyboardtarget.value.length;
			keyboardtarget.value = (keyboardtarget.value+"\n");
		}
		originalkeyboardtarget.value = keyboardtarget.value;
		cursorPosition += 1;
		setCaretToPos(keyboardtarget,cursorPosition);
	}
	$(keyboardtarget).focus();
}

function defineLanguage(langcode) {
    language = langcode;
    lang = langcode.substring(3,5);
    switch(language){
        case "en_EN":
        case "en_US":
            QWERTY = true;
            currency = "$";
            webDomain1 = ".com";
            webDomain2 = ".gov";
            break;
        case "cs_CZ":
            QWERTY = false;
            currency = "Kč";
            webDomain1 = ".cz";
            webDomain2 = ".com";
            break;
        case "sk_SK":
            QWERTY = false;
            currency = "€";
            webDomain1 = ".sk";
            webDomain2 = ".com";
            break;
    }
}

function changeLanguage(langcode,owner){
    defineLanguage(langcode);
    showKeyboard("lowercase");
}

function removeKeyboard(){
    $("#celebriokeyboard").remove();
    $("#celebriokeyboardbackground").remove();
    $("#celebriokeyboardtarget").remove();
    $(".celebriothumbskeyboardstarter").remove();
    cursorPosition = 0;
    keyboardtarget = null;
    originalkeyboardtarget = null;
    addThisFocusinWithReplace();
    addThisFocusin();
}

function formMove(direction,node){
    var nodeName = node.nodeName.toLowerCase();
    if(nodeName=="body" || nodeName=="html" || nodeName==null) return false;
    if(nodeName!="form") formMove(direction,node.parentNode);
    else {
        var before = null;
        for (var i=0;i<node.length;i++)
        {
            if (node.elements[i] == originalkeyboardtarget) {
                if(direction == "left"){
                    if(before == null || before.nodeName.toLowerCase() == "fieldset") {
                        removeKeyboard();
                        return;
                    }
                    removeKeyboard();
                    originalkeyboardtarget = before;
                    createKeyboardarea();
                    if((before.nodeName.toLowerCase() == "input" && before.type!="submit")||before.nodeName.toLowerCase() == "textarea") {
                        cursorPosition = $(originalkeyboardtarget).val().length;
                        showKeyboard("lowercase");
                        setCaretToPos(keyboardtarget,cursorPosition);
                    } else {
                        $("#celebriokeyboard").remove();
                        $(".celebriothumbskeyboardstarter").remove();
                    }
                    $(keyboardtarget).focus();
                    before = null;
                    return;
                } else {
                    before = node.elements[i];
                }
            } else if (before == originalkeyboardtarget) {
                    removeKeyboard();
                    originalkeyboardtarget = node.elements[i];
                    createKeyboardarea();
                    if(node.elements[i].nodeName.toLowerCase() == "input" && node.elements[i].type.toLowerCase() == "submit") {
                        $(keyboardtarget).click(function(){submitParentForm(node);});
                    }
                    if((node.elements[i].nodeName.toLowerCase() == "input" && node.elements[i].type.toLowerCase()!="submit")||node.elements[i].nodeName.toLowerCase() == "textarea") {
                        cursorPosition = $(originalkeyboardtarget).val().length;
                        showKeyboard("lowercase");
                        setCaretToPos(keyboardtarget,cursorPosition);
                    }
                    $(keyboardtarget).focus();
                    before = null;
                    return;
            } else {
                    before = node.elements[i];
            }
            if(direction == "right" && !node.elements[i+1]) {
                    before = null;
                    removeKeyboard();
            }
        }
    }
}

function showKeyboard(type){
	$("#celebriokeyboard").remove();
	$(".celebriothumbskeyboardstarter").remove();
	if((originalkeyboardtarget.nodeName.toLowerCase() != "input" || (originalkeyboardtarget.nodeName.toLowerCase() == "input" && $(originalkeyboardtarget).attr("type")=="submit")) && originalkeyboardtarget.nodeName.toLowerCase() != "textarea") return;
	if(type == "lowercase" && originalkeyboardtarget.nodeName.toLowerCase() == "input"){
            if($(originalkeyboardtarget).attr("type") == "mail") type = "lowercasemail";
            if($(originalkeyboardtarget).attr("type") == "url") type = "lowercaseurl";
	}
	var keyboardhtml = '<div id="celebriokeyboard"></div>';
	var keyboards = [];
	keyboards["generated"] = [];
	keyboards["generated"]["reduced"] = [];
	keyboards["generated"]["reduced"]["lowercase"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'q\');"><span>q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'w\');"><span>w</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'e\');"><span>e</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'r\');"><span>r</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'t\');"><span>t</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'y':'z')+'\');"><span>'+(QWERTY?'y':'z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'u\');"><span>u</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'i\');"><span>i</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'o\');"><span>o</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'p\');"><span>p</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'a\');"><span>a</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'s\');"><span>s</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'d\');"><span>d</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'f\');"><span>f</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'g\');"><span>g</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'h\');"><span>h</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'j\');"><span>j</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'k\');"><span>k</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'l\');"><span>l</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'z':'y')+'\');"><span>'+(QWERTY?'z':'y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'x\');"><span>x</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'c\');"><span>c</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'v\');"><span>v</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'b\');"><span>b</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'n\');"><span>n</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'m\');"><span>m</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton3" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>';
	keyboards["generated"]["reduced"]["lowercasemail"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'q\');"><span>q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'w\');"><span>w</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'e\');"><span>e</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'r\');"><span>r</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'t\');"><span>t</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'y':'z')+'\');"><span>'+(QWERTY?'y':'z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'u\');"><span>u</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'i\');"><span>i</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'o\');"><span>o</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'p\');"><span>p</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'a\');"><span>a</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'s\');"><span>s</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'d\');"><span>d</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'f\');"><span>f</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'g\');"><span>g</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'h\');"><span>h</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'j\');"><span>j</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'k\');"><span>k</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'l\');"><span>l</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'z':'y')+'\');"><span>'+(QWERTY?'z':'y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'x\');"><span>x</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'c\');"><span>c</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'v\');"><span>v</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'b\');"><span>b</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'n\');"><span>n</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'m\');"><span>m</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'@\');"><span>@</span></button>'+
	'<button class="celebriokeyboardbutton4" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+webDomain1+'\');"><span>'+webDomain1+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>';
	keyboards["generated"]["reduced"]["lowercaseurl"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'q\');"><span>q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'w\');"><span>w</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'e\');"><span>e</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'r\');"><span>r</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'t\');"><span>t</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'y':'z')+'\');"><span>'+(QWERTY?'y':'z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'u\');"><span>u</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'i\');"><span>i</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'o\');"><span>o</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'p\');"><span>p</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'a\');"><span>a</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'s\');"><span>s</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'d\');"><span>d</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'f\');"><span>f</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'g\');"><span>g</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'h\');"><span>h</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'j\');"><span>j</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'k\');"><span>k</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'l\');"><span>l</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'z':'y')+'\');"><span>'+(QWERTY?'z':'y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'x\');"><span>x</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'c\');"><span>c</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'v\');"><span>v</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'b\');"><span>b</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'n\');"><span>n</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'m\');"><span>m</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'http://\');"><span>http://</span></button>'+
	'<button class="celebriokeyboardbutton4" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+webDomain1+'\');"><span>'+webDomain1+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>';
	keyboards["generated"]["reduced"]["uppercase"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Q\');"><span>Q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'W\');"><span>W</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'E\');"><span>E</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'R\');"><span>R</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'T\');"><span>T</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\''+(QWERTY?'Y':'Z')+'\');"><span>'+(QWERTY?'Y':'Z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'U\');"><span>U</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'I\');"><span>I</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'O\');"><span>O</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'P\');"><span>P</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'A\');"><span>A</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'S\');"><span>S</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'D\');"><span>D</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'F\');"><span>F</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'G\');"><span>G</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'H\');"><span>H</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'J\');"><span>J</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'K\');"><span>K</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'L\');"><span>L</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'lowercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\''+(QWERTY?'Z':'Y')+'\');"><span>'+(QWERTY?'Z':'Y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'X\');"><span>X</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'C\');"><span>C</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'V\');"><span>V</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'B\');"><span>B</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'N\');"><span>N</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'M\');"><span>M</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton3" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>';
	keyboards["generated"]["reduced"]["special"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'1\');"><span>1</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'2\');"><span>2</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'3\');"><span>3</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'4\');"><span>4</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'5\');"><span>5</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'6\');"><span>6</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'7\');"><span>7</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'8\');"><span>8</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'9\');"><span>9</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'0\');"><span>0</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'@\');"><span>@</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'#\');"><span>#</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+currency+'\');"><span>'+currency+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'%\');"><span>%</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'&\');"><span>&</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'(\');"><span>(</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\')\');"><span>)</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'-\');"><span>-</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'|\');"><span>|</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'\\\\\');"><span>\\</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special2\');"><img src="'+basePath+'/css/keyboard/img/arrow_right.png" alt="special2" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'!\');"><span>!</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\';\');"><span>;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\':\');"><span>:</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'\\\'\');"><span>\'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'&quot;\');"><span>"</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'?\');"><span>?</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'/\');"><span>/</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton3" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>';
	keyboards["generated"]["reduced"]["special2"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'1\');"><span>1</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'2\');"><span>2</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'3\');"><span>3</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'4\');"><span>4</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'5\');"><span>5</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'6\');"><span>6</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'7\');"><span>7</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'8\');"><span>8</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'9\');"><span>9</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'0\');"><span>0</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'^\');"><span>^</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'[\');"><span>[</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\']\');"><span>]</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'{\');"><span>{</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'}\');"><span>}</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'<\');"><span>&lt;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'>\');"><span>&gt;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'$\');"><span>$</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'§\');"><span>§</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'`\');"><span>`</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><img src="'+basePath+'/css/keyboard/img/arrow_left.png" alt="special" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'*\');"><span>*</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'-\');"><span>-</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'+\');"><span>+</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'=\');"><span>=</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'_\');"><span>_</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'~\');"><span>~</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'°\');"><span>°</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton3" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>';
	keyboards["generated"]["reduced"]["language"] =
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<br />'+
	'<button class="celebriokeyboardbutton5" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>';
	keyboards["en_US"] = [];
	keyboards["en_US"]["reduced"] = [];
	keyboards["en_US"]["reduced"]["lowercase"] = keyboards["generated"]["reduced"]["lowercase"];
	keyboards["en_US"]["reduced"]["lowercasemail"] = keyboards["generated"]["reduced"]["lowercasemail"];
	keyboards["en_US"]["reduced"]["lowercaseurl"] = keyboards["generated"]["reduced"]["lowercaseurl"];
	keyboards["en_US"]["reduced"]["uppercase"] = keyboards["generated"]["reduced"]["uppercase"];
	keyboards["en_US"]["reduced"]["special"] = keyboards["generated"]["reduced"]["special"];
	keyboards["en_US"]["reduced"]["special2"] = keyboards["generated"]["reduced"]["special2"];
	keyboards["en_US"]["reduced"]["language"] = keyboards["generated"]["reduced"]["language"];
	keyboards["cs_CZ"] = [];
	keyboards["cs_CZ"]["reduced"] = [];
	keyboards["cs_CZ"]["reduced"]["lowercase"] = keyboards["generated"]["reduced"]["lowercase"];
	keyboards["cs_CZ"]["reduced"]["lowercasemail"] = keyboards["generated"]["reduced"]["lowercasemail"];
	keyboards["cs_CZ"]["reduced"]["lowercaseurl"] = keyboards["generated"]["reduced"]["lowercaseurl"];
	keyboards["cs_CZ"]["reduced"]["uppercase"] = keyboards["generated"]["reduced"]["uppercase"];
	keyboards["cs_CZ"]["reduced"]["special"] = keyboards["generated"]["reduced"]["special"];
	keyboards["cs_CZ"]["reduced"]["special2"] = keyboards["generated"]["reduced"]["special2"];
	keyboards["cs_CZ"]["reduced"]["language"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ě\');"><span>ě</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'š\');"><span>š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'č\');"><span>č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ř\');"><span>ř</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ž\');"><span>ž</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ý\');"><span>ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'á\');"><span>á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'í\');"><span>í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'é\');"><span>é</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ď\');"><span>ď</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ť\');"><span>ť</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ň\');"><span>ň</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ú\');"><span>ú</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ů\');"><span>ů</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ó\');"><span>ó</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton5" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>';
	keyboards["cs_CZ"]["reduced"]["languageupper"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ě\');"><span>Ě</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Š\');"><span>Š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Č\');"><span>Č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ř\');"><span>Ř</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ž\');"><span>Ž</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ý\');"><span>Ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Á\');"><span>Á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Í\');"><span>Í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'É\');"><span>É</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ď\');"><span>Ď</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ť\');"><span>Ť</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ň\');"><span>Ň</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ú\');"><span>Ú</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ů\');"><span>Ů</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ó\');"><span>Ó</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton5" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>';
	keyboards["sk_SK"] = [];
	keyboards["sk_SK"]["reduced"] = [];
	keyboards["sk_SK"]["reduced"]["lowercase"] = keyboards["generated"]["reduced"]["lowercase"];
	keyboards["sk_SK"]["reduced"]["lowercasemail"] = keyboards["generated"]["reduced"]["lowercasemail"];
	keyboards["sk_SK"]["reduced"]["lowercaseurl"] = keyboards["generated"]["reduced"]["lowercaseurl"];
	keyboards["sk_SK"]["reduced"]["uppercase"] = keyboards["generated"]["reduced"]["uppercase"];
	keyboards["sk_SK"]["reduced"]["special"] = keyboards["generated"]["reduced"]["special"];
	keyboards["sk_SK"]["reduced"]["special2"] = keyboards["generated"]["reduced"]["special2"];
	keyboards["sk_SK"]["reduced"]["language"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ľ\');"><span>ľ</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'š\');"><span>š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'č\');"><span>č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ť\');"><span>ř</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ý\');"><span>ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'á\');"><span>á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'í\');"><span>í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'é\');"><span>é</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ň\');"><span>ň</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ú\');"><span>ú</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ä\');"><span>ä</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ô\');"><span>ô</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton5" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>';
	keyboards["sk_SK"]["reduced"]["languageupper"] =
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ľ\');"><span>Ľ</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Š\');"><span>Š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Č\');"><span>Č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ť\');"><span>Ť</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ý\');"><span>Ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Á\');"><span>Á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Í\');"><span>Í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'É\');"><span>É</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ň\');"><span>Ň</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ú\');"><span>Ú</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ä\');"><span>Ä</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ô\');"><span>Ô</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton5" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>';
	
	keyboards["generated"] = [];
	keyboards["generated"]["thumbs"] = [];
	keyboards["generated"]["thumbs"]["lowercase"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'q\');"><span>q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'w\');"><span>w</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'e\');"><span>e</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'r\');"><span>r</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'t\');"><span>t</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'a\');"><span>a</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'s\');"><span>s</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'d\');"><span>d</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'f\');"><span>f</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'g\');"><span>g</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'z':'y')+'\');"><span>'+(QWERTY?'z':'y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'x\');"><span>x</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'c\');"><span>c</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'v\');"><span>v</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'b\');"><span>b</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'/\');"><span>/</span></button>'+
	'<button class="celebriokeyboardbutton6" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'y':'z')+'\');"><span>'+(QWERTY?'y':'z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'u\');"><span>u</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'i\');"><span>i</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'o\');"><span>o</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'p\');"><span>p</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'h\');"><span>h</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'j\');"><span>j</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'k\');"><span>k</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'l\');"><span>l</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'n\');"><span>n</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'m\');"><span>m</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'(\');"><span>(</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\')\');"><span>)</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>'+
	'</div>';
	keyboards["generated"]["thumbs"]["lowercasemail"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'q\');"><span>q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'w\');"><span>w</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'e\');"><span>e</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'r\');"><span>r</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'t\');"><span>t</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'a\');"><span>a</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'s\');"><span>s</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'d\');"><span>d</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'f\');"><span>f</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'g\');"><span>g</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'z':'y')+'\');"><span>'+(QWERTY?'z':'y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'x\');"><span>x</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'c\');"><span>c</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'v\');"><span>v</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'b\');"><span>b</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'@\');"><span>@</span></button>'+
	'<button class="celebriokeyboardbutton6" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'y':'z')+'\');"><span>'+(QWERTY?'y':'z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'u\');"><span>u</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'i\');"><span>i</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'o\');"><span>o</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'p\');"><span>p</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'h\');"><span>h</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'j\');"><span>j</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'k\');"><span>k</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'l\');"><span>l</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'n\');"><span>n</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'m\');"><span>m</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+

	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+webDomain1+'\');"><span>'+webDomain1+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+webDomain2+'\');"><span>'+webDomain2+'</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>'+
	'</div>';
	keyboards["generated"]["thumbs"]["lowercaseurl"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'q\');"><span>q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'w\');"><span>w</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'e\');"><span>e</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'r\');"><span>r</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'t\');"><span>t</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'a\');"><span>a</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'s\');"><span>s</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'d\');"><span>d</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'f\');"><span>f</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'g\');"><span>g</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'z':'y')+'\');"><span>'+(QWERTY?'z':'y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'x\');"><span>x</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'c\');"><span>c</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'v\');"><span>v</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'b\');"><span>b</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'http://\');"><span>http://</span></button>'+
	'<button class="celebriokeyboardbutton6" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+(QWERTY?'y':'z')+'\');"><span>'+(QWERTY?'y':'z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'u\');"><span>u</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'i\');"><span>i</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'o\');"><span>o</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'p\');"><span>p</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'h\');"><span>h</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'j\');"><span>j</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'k\');"><span>k</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'l\');"><span>l</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'n\');"><span>n</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'m\');"><span>m</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+

	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'uppercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+webDomain1+'\');"><span>'+webDomain1+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+webDomain2+'\');"><span>'+webDomain2+'</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>'+
	'</div>';
	keyboards["generated"]["thumbs"]["uppercase"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Q\');"><span>Q</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'W\');"><span>W</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'E\');"><span>E</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'R\');"><span>R</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'T\');"><span>T</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'A\');"><span>A</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'S\');"><span>S</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'D\');"><span>D</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'F\');"><span>F</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'G\');"><span>G</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'lowercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\''+(QWERTY?'Z':'Y')+'\');"><span>'+(QWERTY?'Z':'Y')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'X\');"><span>X</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'C\');"><span>C</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'V\');"><span>V</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'B\');"><span>B</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'special\');"><span>&amp;123</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'/\');"><span>/</span></button>'+
	'<button class="celebriokeyboardbutton6" onclick="pressCharKeyAndLeave(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\''+(QWERTY?'Y':'Z')+'\');"><span>'+(QWERTY?'Y':'Z')+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'U\');"><span>U</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'I\');"><span>I</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'O\');"><span>O</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'P\');"><span>P</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'H\');"><span>H</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'J\');"><span>J</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'K\');"><span>K</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'L\');"><span>L</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'N\');"><span>N</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'M\');"><span>M</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="pressCharKeyAndLeave(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'(\');"><span>(</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\')\');"><span>)</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>'+
	'</div>';
	keyboards["generated"]["thumbs"]["special"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'1\');"><span>1</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'2\');"><span>2</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'3\');"><span>3</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'4\');"><span>4</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'5\');"><span>5</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'@\');"><span>@</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'#\');"><span>#</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\''+currency+'\');"><span>'+currency+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'%\');"><span>%</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'&\');"><span>&</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'special2\');"><img src="'+basePath+'/css/keyboard/img/arrow_right.png" alt="special2" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'!\');"><span>!</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\';\');"><span>;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\':\');"><span>:</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'\\\'\');"><span>\'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'&quot;\');"><span>&quot;</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton6" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'6\');"><span>6</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'7\');"><span>7</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'8\');"><span>8</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'9\');"><span>9</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'0\');"><span>0</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'(\');"><span>(</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\')\');"><span>)</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'-\');"><span>-</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'\\\');"><span>\\</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'?\');"><span>?</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'/\');"><span>/</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'|\');"><span>|</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'+\');"><span>+</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'special2\');"><img src="'+basePath+'/css/keyboard/img/arrow_right.png" alt="special2" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'.\');"><span>.</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'=\');"><span>=</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>'+
	'</div>';
	keyboards["generated"]["thumbs"]["special2"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'1\');"><span>1</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'2\');"><span>2</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'3\');"><span>3</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'4\');"><span>4</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'5\');"><span>5</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'^\');"><span>^</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'[\');"><span>[</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\']\');"><span>]</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'{\');"><span>{</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'}\');"><span>}</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'special\');"><img src="'+basePath+'/css/keyboard/img/arrow_left.png" alt="special" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'*\');"><span>*</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'-\');"><span>-</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'+\');"><span>+</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'=\');"><span>=</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'_\');"><span>_</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><span>'+lang+'</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\',\');"><span>,</span></button>'+
	'<button class="celebriokeyboardbutton6" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'6\');"><span>6</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'7\');"><span>7</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'8\');"><span>8</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'9\');"><span>9</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'0\');"><span>0</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'<\');"><span>&lt;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'>\');"><span>&gt;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'-\');"><span>-</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'$\');"><span>$</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="pressBackspaceKey(this);"><img src="'+basePath+'/css/keyboard/img/backspace.png" alt="backspace" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'~\');"><span>~</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'°\');"><span>°</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'§\');"><span>§</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'€\');"><span>€</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'special\');"><img src="'+basePath+'/css/keyboard/img/arrow_left.png" alt="special" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="pressCharKey(this,\'&nbsp;\');"><span>&nbsp;</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'±\');"><span>±</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKey(this,\'©\');"><span>©</span></button>'+
	'<button class="celebriokeyboardbutton7" onclick="pressEnterKey(this);"><img src="'+basePath+'/css/keyboard/img/enter.png" alt="enter" /</button>'+
	'</div>';
	keyboards["generated"]["thumbs"]["language"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<br />'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<br />'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>';
	keyboards["en_US"]["thumbs"] = [];
	keyboards["en_US"]["thumbs"]["lowercase"] = keyboards["generated"]["thumbs"]["lowercase"];
	keyboards["en_US"]["thumbs"]["lowercasemail"] = keyboards["generated"]["thumbs"]["lowercasemail"];
	keyboards["en_US"]["thumbs"]["lowercaseurl"] = keyboards["generated"]["thumbs"]["lowercaseurl"];
	keyboards["en_US"]["thumbs"]["uppercase"] = keyboards["generated"]["thumbs"]["uppercase"];
	keyboards["en_US"]["thumbs"]["special"] = keyboards["generated"]["thumbs"]["special"];
	keyboards["en_US"]["thumbs"]["special2"] = keyboards["generated"]["thumbs"]["special2"];
	keyboards["en_US"]["thumbs"]["language"] = keyboards["generated"]["thumbs"]["language"];
	keyboards["cs_CZ"]["thumbs"] = [];
	keyboards["cs_CZ"]["thumbs"]["lowercase"] = keyboards["generated"]["thumbs"]["lowercase"];
	keyboards["cs_CZ"]["thumbs"]["lowercasemail"] = keyboards["generated"]["thumbs"]["lowercasemail"];
	keyboards["cs_CZ"]["thumbs"]["lowercaseurl"] = keyboards["generated"]["thumbs"]["lowercaseurl"];
	keyboards["cs_CZ"]["thumbs"]["uppercase"] = keyboards["generated"]["thumbs"]["uppercase"];
	keyboards["cs_CZ"]["thumbs"]["special"] = keyboards["generated"]["thumbs"]["special"];
	keyboards["cs_CZ"]["thumbs"]["special2"] = keyboards["generated"]["thumbs"]["special2"];
	keyboards["cs_CZ"]["thumbs"]["language"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ě\');"><span>ě</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'š\');"><span>š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'č\');"><span>č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ř\');"><span>ř</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ď\');"><span>ď</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ť\');"><span>ť</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ň\');"><span>ň</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ž\');"><span>ž</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ý\');"><span>ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'á\');"><span>á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'í\');"><span>í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'é\');"><span>é</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ú\');"><span>ú</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ů\');"><span>ů</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ó\');"><span>ó</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>';
	keyboards["cs_CZ"]["thumbs"]["languageupper"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ě\');"><span>Ě</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Š\');"><span>Š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Č\');"><span>Č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ř\');"><span>Ř</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ď\');"><span>Ď</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ť\');"><span>Ť</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ň\');"><span>Ň</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ž\');"><span>Ž</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ý\');"><span>Ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Á\');"><span>Á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Í\');"><span>Í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'É\');"><span>É</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ú\');"><span>Ú</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ů\');"><span>Ů</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ó\');"><span>Ó</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>';
	keyboards["sk_SK"]["thumbs"] = [];
	keyboards["sk_SK"]["thumbs"]["lowercase"] = keyboards["generated"]["thumbs"]["lowercase"];
	keyboards["sk_SK"]["thumbs"]["lowercasemail"] = keyboards["generated"]["thumbs"]["lowercasemail"];
	keyboards["sk_SK"]["thumbs"]["lowercaseurl"] = keyboards["generated"]["thumbs"]["lowercaseurl"];
	keyboards["sk_SK"]["thumbs"]["uppercase"] = keyboards["generated"]["thumbs"]["uppercase"];
	keyboards["sk_SK"]["thumbs"]["special"] = keyboards["generated"]["thumbs"]["special"];
	keyboards["sk_SK"]["thumbs"]["special2"] = keyboards["generated"]["thumbs"]["special2"];
	keyboards["sk_SK"]["thumbs"]["language"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ľ\');"><span>ľ</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'š\');"><span>š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'č\');"><span>č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ř\');"><span>ř</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ň\');"><span>ň</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ú\');"><span>ú</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ý\');"><span>ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'á\');"><span>á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'í\');"><span>í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'é\');"><span>é</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ä\');"><span>ä</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'ô\');"><span>ô</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'languageupper\');"><img src="'+basePath+'/css/keyboard/img/arrow_up.png" alt="uppercase" />></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>';
	keyboards["sk_SK"]["thumbs"]["languageupper"] =
	'<div id="celebriothumbskeyboardleft">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ľ\');"><span>Ľ</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Š\');"><span>Š</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Č\');"><span>Č</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ř\');"><span>Ř</span></button>'+
	'<br />'+
	'<div id="celebriothumbskeyboardleftscndline">'+
	'<button class="celebriokeyboardbutton1" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ň\');"><span>Ň</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ú\');"><span>Ú</span></button>'+
	'</div>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'cs_CZ\',this);"><span>CZ</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'sk_SK\',this);"><span>SK</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>'+
	'<div id="celebriothumbskeyboardright">'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ý\');"><span>Ý</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Á\');"><span>Á</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Í\');"><span>Í</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'É\');"><span>É</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ä\');"><span>Ä</span></button>'+
	'<button class="celebriokeyboardbutton1" onclick="pressCharKeyAndLeave(this,\'Ô\');"><span>Ô</span></button>'+
	'<button class="celebriokeyboardbutton2" onclick="showKeyboard(\'language\');"><img src="'+basePath+'/css/keyboard/img/arrow_down.png" alt="lowercase" /></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton2" onclick="changeLanguage(\'en_US\',this);"><span>US</span></button>'+
	'<br />'+
	'<button class="celebriokeyboardbutton7" onclick="showKeyboard(\'lowercase\');"><span>abcd</span></button>'+
	'</div>';
	
	$(keyboardhtml).html(keyboards[language][keyboardType][type]).appendTo("body");

	if(keyboardType == "reduced") {
		$('<div class="celebriothumbskeyboardstarter" onclick="showThumbsKeyboard(\''+type+'\');">&nbsp;</div>').css({"width":(($(document).width()-840)/2)+"px",left:"0px"}).appendTo("body");
		$('<div class="celebriothumbskeyboardstarter" onclick="showThumbsKeyboard(\''+type+'\');">&nbsp;</div>').css({"width":(($(document).width()-840)/2)+"px",right:"0px"}).appendTo("body");
	}
	
	if(keyboardType == "thumbs") {
		$('<div class="celebriothumbskeyboardstarter" onclick="showReducedKeyboard(\''+type+'\');">&nbsp;</div>').css({"width":($(document).width()-1008)+"px",left:"504px"}).appendTo("body");
	}

	$(keyboardtarget).focus();
}

function showThumbsKeyboard(type) {
	keyboardType = "thumbs";
	showKeyboard(type);
}

function showReducedKeyboard(type) {
	keyboardType = "reduced";
	showKeyboard(type);
}

function createKeyboardarea() {
        $("select").die();
        $("input, textarea, button").die();
	$("<div id='celebriokeyboardbackground' onclick='removeKeyboard();'>&nbsp;</div>").appendTo("body");
	keyboardtarget = $(originalkeyboardtarget).clone()[0];
	$("<div id='celebriokeyboardtarget'></div>").appendTo("body");
	if($("label[for='"+$(originalkeyboardtarget).attr("name")+"']").html()) $('<div>'+$("label[for='"+$(originalkeyboardtarget).attr("name")+"']").html()+'</div>').css({float:"left",fontWeight:"bold",fontSize:"25pt",paddingTop:"20px",margin:"0 0 10px 0"}).appendTo("#celebriokeyboardtarget");
        else if($("label[for='"+$(originalkeyboardtarget).attr("id")+"']").html()) $('<div>'+$("label[for='"+$(originalkeyboardtarget).attr("id")+"']").html()+'</div>').css({float:"left",fontWeight:"bold",fontSize:"25pt",paddingTop:"20px",margin:"0 0 10px 0"}).appendTo("#celebriokeyboardtarget");
	$('<button class="celebriokeyboardtargetcontrols" onclick="removeKeyboard();"><img src="'+basePath+'/css/keyboard/img/close.png" alt="close" /></button>').css({width:"60px",margin:"0 25px 10px 0",float:"right",clear:"right"}).appendTo("#celebriokeyboardtarget");
	$(keyboardtarget).width($(document).width()-100).css({fontSize:"30pt",padding:"10px"}).appendTo("#celebriokeyboardtarget");
	if(keyboardtarget.nodeName.toLowerCase() == "textarea") {
		$(keyboardtarget).attr("rows",3);
	}
	$(keyboardtarget).val($(originalkeyboardtarget).val());
	$(keyboardtarget).keyup(function(event){
            if(event.keyCode == 13) {
                event.preventDefault();
                pressEnterKey("NULL");
                return;
            }
            $(originalkeyboardtarget).val($(keyboardtarget).val());
	});
	$(keyboardtarget).change(function(){
		$(originalkeyboardtarget).val($(keyboardtarget).val());
	});
	$('<button class="celebriokeyboardtargetcontrols" onclick="formMove(\'left\',originalkeyboardtarget);"><img src="'+basePath+'/css/keyboard/img/arrow2_left.png" alt="left" /></button>').css({margin:"10px 0 0 0",float:"left"}).appendTo("#celebriokeyboardtarget");
	$('<button class="celebriokeyboardtargetcontrols" onclick="formMove(\'right\',originalkeyboardtarget);"><img src="'+basePath+'/css/keyboard/img/arrow2_right.png" alt="right" /></button>').css({margin:"10px 25px 0 0",float:"right"}).appendTo("#celebriokeyboardtarget");	
	$("#celebriokeyboardtarget").keydown(function(e){
		if (e.keyCode == 37) { // left
                    e.preventDefault();
                    formMove('left',originalkeyboardtarget);
		}
		if (e.keyCode == 39) { // right
                    e.preventDefault();
                    formMove('right',originalkeyboardtarget);
		}
	});
	if((keyboardtarget.nodeName.toLowerCase() == "input" && keyboardtarget.type!="submit")||keyboardtarget.nodeName.toLowerCase() == "textarea") setCaretToPos(keyboardtarget,cursorPosition);
}

function addThisFocusinWithReplace(){
    $("select").live("focusin",function(){
        $(this).mouseup();
        $(this).click();
        if( originalkeyboardtarget != this ) {
            var theOne = this;
            var theOneValue = $(theOne).val();
            var theOneClone = $(theOne).clone();
            // we have to replace because google chrome would keep showing options of select
            $(theOne).replaceWith(theOneClone);
            addThisFocusinWithReplace("select");
            originalkeyboardtarget = $("[name='"+this.name+"']")[0];
            $(originalkeyboardtarget).val(theOneValue);
            createKeyboardarea();
            $(keyboardtarget).focus();
        }
    });
}

function addThisFocusin(){
    $("input, textarea, button").live("focusin",function(){
        $(this).mouseup();
        $(this).click();
        if( originalkeyboardtarget != this ) {
            originalkeyboardtarget = this;
            cursorPosition = $(originalkeyboardtarget).val().length;
            createKeyboardarea();
            showKeyboard("lowercase");
            setTimeout(function(){
                setCaretToPos(keyboardtarget,cursorPosition);
                $(keyboardtarget).focus();
            },1); // this his here because of internet explorer
        }
    });
}

/**
 * registers triggers and runs Celebrio keyboard
 * @param user_language language like en_US
 */
function runCelebrioKeyboard(user_language) {
    defineLanguage(user_language);
    addThisFocusinWithReplace();
    addThisFocusin();
}

$("#celebriokeyboard button").live("click", function(event){
    var target = (event.target.nodeName.toLowerCase()!="button")?event.target.parentNode:event.target;
    $(target).css({"-webkit-box-shadow":"0px 0px 15px #000000,inset 0px 0px 10px #888","box-shadow":"0px 0px 15px #000000,inset 0px 0px 10px #888"});
    setTimeout(function(){
	$(target).css({"-webkit-box-shadow":"0px 0px 10px #000000","box-shadow":"0px 0px 10px #000000"});
    },200);
});